package fiuba.algo3.vista;

import java.awt.Button;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import fiuba.algo3.controlador.Controlador;
import fiuba.algo3.controlador.ControladorFlechitas;
import fiuba.algo3.juego.JuegoGPS;
import fiuba.algo3.vehiculo.*;

public class VentanaEleccionVehiculos implements ActionListener {

	private JFrame miFrame;
	private JuegoGPS miJuego;
	private Button auto;
	private Button moto;
	private Button camioneta4x4;
	private Button volver;
	private Button atras;

	VentanaEleccionVehiculos(JuegoGPS unJuego, JFrame frameTemp) {
		this.miJuego = unJuego;
		this.miFrame = frameTemp;

		JPanel contentPane = new JPanel();
		miFrame.setContentPane(contentPane);
		contentPane.setLayout(null);

		auto = new Button("Auto");
		moto = new Button("Moto");
		camioneta4x4 = new Button("Camioneta 4x4");
		volver = new Button("Volver al inicio");
		atras = new Button("Atras");

		contentPane.add(auto);
		contentPane.add(moto);
		contentPane.add(camioneta4x4);
		contentPane.add(volver);
		contentPane.add(atras);

		auto.setBounds(300, 100, 200, 100);
		moto.setBounds(300, 200, 200, 100);
		camioneta4x4.setBounds(300, 300, 200, 100);
		volver.setBounds(700, 500, 150, 50);
		atras.setBounds(600, 500, 50, 50);

		auto.addActionListener(this);
		moto.addActionListener(this);
		camioneta4x4.addActionListener(this);
		volver.addActionListener(this);
		atras.addActionListener(this);

		JLabel opcion = new JLabel("Elija vehiculo inicial:");
		opcion.setBounds(350, 50, 200, 30);
		contentPane.add(opcion);

		miFrame.paintComponents(miFrame.getGraphics());

	}

	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == auto) {
			auto.setBackground(Color.BLUE);
			moto.setBackground(Color.WHITE);
			camioneta4x4.setBackground(Color.WHITE);
			miJuego.crearPartidaCon(new Auto());
			new VistaJuego(miJuego, new Controlador(miJuego),miFrame, new ControladorFlechitas(miJuego));
		}

		else if (e.getSource() == moto) {
			auto.setBackground(Color.WHITE);
			moto.setBackground(Color.GREEN);
			camioneta4x4.setBackground(Color.WHITE);
			miJuego.crearPartidaCon(new Moto());
			new VistaJuego(miJuego, new Controlador(miJuego),miFrame, new ControladorFlechitas(miJuego));
		}

		else if (e.getSource() == camioneta4x4) {
			moto.setBackground(Color.WHITE);
			auto.setBackground(Color.WHITE);
			camioneta4x4.setBackground(Color.RED);
			miJuego.crearPartidaCon(new Camioneta4x4());
			new VistaJuego(miJuego, new Controlador(miJuego),miFrame, new ControladorFlechitas(miJuego));
		}
		
		else if (e.getSource() == volver) {
			new VentanaMenuDelJuego(miJuego, miFrame);

		}

		else if (e.getSource() == atras) {
			new VentanaEleccionDificultad(miJuego, miFrame);
		}
	}

}
